Add a pattern for a deferred tool resulting using UI interaction#390
Add a pattern for a deferred tool resulting using UI interaction#390connor4312 wants to merge 2 commits intomodelcontextprotocol:mainfrom
Conversation
|
Interesting pattern! Basically, elicitation implemented as an MCP App! Although, for servers using the SHTTP transport, I think it might cause similar reliability issues (around long-running requests, server affinity, etc). What are your thoughts about that? |
|
Yup essentially fancy elicitation. I think the way to tackle reliability is to have the servers set a |
|
Nice use case @connor4312 (definitely one that's been asked a lot)! |
|
Maybe, I think right now implementing task support in a server using the TS SDK is a bit complicated. But I know they're still working on it and in theory an SDK (or helper library) could abstract common patterns enough that implementing a task-based tool for a server is not much more expensive than implementing any other kind of tool call. Ideally one would just plug in their choice of persistence layer (memory/redis/etc) into a tool definition and be good to go. |
Motivation and Context
This is a pattern I've been asked about a few times already, so adding a reference for it.
How Has This Been Tested?
N/A
Breaking Changes
N/A
Types of changes
Checklist